Programming Questions for Practice
Write a program to find the difference between smallest and biggest prime number in a given range. Assume that both the inputs are positive.
#include <stdio.h>
#include <stdlib.h>
/*
Write a program to find the difference between smallest and biggest prime number
in a given range. Assume that both the inputs are positive.
*/
int isPrime(int number) {
int i;
if(number == 1 || number == 0)
return 0;
for(i = 2; i < number; i++) {
if(number % i == 0) {
return 0;
}
}
return 1;
}
int find_length(int *result) {
int count = 0, i = 0;
while(*(result+i) != 0) {
count++;
i++;
}
return count;
}
int prime_min_max(int input1, int input2) {
int i, j, min, max, result_length;
int *result = (int *)calloc(input2-input1, sizeof(int));
for(i = input1, j=0; i <= input2; i++){
if(isPrime(i)) {
result[j] = i;
j++;
}
}
min = max = result[0];
result_length = find_length(result);
printf("\nList of prime numbers between %d and %d:\n", input1, input2);
for(i = 0; i < result_length; i++)
printf("%d ", result[i]);
for(i=0;i<result_length;i++) {
if(min>result[i])
min=result[i];
if(max<result[i])
max=result[i];
}
printf("\nMinimum = %d, Maximum = %d\n", min, max);
return max-min;
}
int main()
{
printf("Difference = %d\n", prime_min_max(40, 60));
return 0;
}
Code not available...
Code not available...